// 配置axios
import axios from "axios";
// 引入进度条 start()：进度条开始  done()：进度条结束
import nprogress from "nprogress";
import "nprogress/nprogress.css"

// 创建axios实例
const requests = axios.create({
    baseURL: "/mock",
    timeout: 5000
})

/**
 * 请求拦截器
 * config:请求的配置对象，包含请求相关的信息，如请求头
 *  */
requests.interceptors.request.use(config => {
    // 发送请求后开启进度条
    nprogress.start();
    return config;
})

/**
 * 响应拦截器
 * res => {}：请求成功的响应拦截器
 * error => {}：请求失败的响应拦截器
 */

requests.interceptors.response.use(res => {
    // 请求成功后关闭进度条
    nprogress.done();
    // 返回数据
    return res.data
}, error => {
    // 停止Promise
    return Promise.reject(new Error('faile'))
})

// 导出axios实例
export default requests